{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1、简述仿射变换和透视变换的基本概念，并用实例说明。 \n",
    "  仿射变换：坐标变化的三种基本方式：平移、旋转、放缩，用一个矩阵算式实现这三种功能，这个过程就叫做仿射变换\n",
    "  透视变换：之前线性代数学过投影矩阵，透视变换的本质实际上是将原来的平面投到一个新的视平面（ViewPlane）。  \n",
    "  仿射变换和透视变换实例如下列两图片，按顺序分别为透视变换、 仿射变换\n",
    "http://hiphotos.baidu.com/liyy011/pic/item/c3ffdd0e0efecb7d6159f370.jpg\n",
    "  http://mmbiz.qpic.cn/mmbiz/9pfej2uvzfvMNnIpgBbTQOVUoUq2ABEdsAogF8lNS4IFic5KARgQbIn5EticQODGpj5g3F4YrlsibqYsCJx4waxKA/0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  2、结合图简述图像坐标系、相机坐标系和世界坐标系的定义，并说明三者之间的变换关系\n",
    "世界坐标系为一个地球上的静止坐标。  \n",
    "相机坐标有内参和外参，外参为世界坐标系经过转换变为三维的相机坐标系，内参为相机的内置参数，负责利用透视变换的原理将三维变为二维\n",
    "图像坐标系。  \n",
    "图像坐标系其实就是三位的相机坐标系经过透视变换后的结果。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3、什么是相机的内、外参数矩阵？实际中你能结合身边的实例(如电脑摄像头、手机镜头)说明这些参数的大致值么？ \n",
    "外参为世界坐标系经过转换变为三维的相机坐标系，内参为相机的内置参数，负责利用透视变换的原理将三维变为二维.它们矩阵实际上为这些变换的数字关系。\n",
    "内参矩阵（内参数fx、fy、u0、v0）：Nikon的尼克尔相机的焦距为80-140mm之间。  v0、u0为光轴的原点在成世界系坐标的位置，为在计算时测定的值，大致值范围较大  \n",
    "外参矩阵：外参矩阵为旋转平移矩阵，与世界坐标系有关，大致值变化较大。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4、说明使用线性法求解相对位姿时的要求输入和输出，以及求解的基本思想。\n",
    "### 输入：相机内参数（包括焦距fx和fy、相机光轴位于世界系坐标的相对位置u0和v0）、特征点位于世界坐标系的坐标（Xw、Yw、Zw）、特征点位于相平面坐标系（2D)的坐标（u、v）。  \n",
    "### 输出:目标坐标系相对相机坐标系的位姿和姿态，即相机的外参矩阵。包括旋转矩阵R、平移向量T。与其他的方法不同，线性法由于Zw选择为0的点，所以R矩阵的第三列不用求解，故共只有9个参数  \n",
    "### 求解的基本思想：\n",
    "1、首先通过矩阵等式重写的方式将未知数写为Ax=b的形式（x为包括除了t3与R矩阵第三列的11个未知数的列向量，平面特征点中是8个）。  \n",
    "2、输入4个点的特征点在两个坐标系上的坐标以矩阵表示  [u1 v1 u2 v2 u3 v3 u4 v4]^T^x=[Xt1 Yt1 Zt1 Xt2 Yt2 Zt2 Xt3 Yt3 Zt2 Xt4 Yt4 Zt2]（这里注意特征点不能共线，否则无法求解）;  \n",
    "3、线性代数中，最小二乘法可以表示为：A^T^Ax=A^T^b;矩阵变换得：x=（A^T^A）^-1^A^T^b;代入数字得出结果  \n",
    "4、为避免原本旋转矩阵写法非线性误差容易导致误差变大的缺点，采用Rodrigues旋转表示旋转矩阵，它的误差与输入值呈正比。  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 5、说明使用Zhang方法进行相机标定需要的输入条件和得到的具体输出量，以及Zhang方法的主要步骤 \n",
    "输入条件：多个pose的Xw、Yw和u、v、zc\n",
    "输出：相机内参数矩阵、相机外参数矩阵（没个pose不同）\n",
    "步骤：1、Zhang方法利用了单应矩阵H，H由9个未知数，因此4个或以上平面特征点就可以求解出单应矩阵，首先求解出每个pose的单应矩阵  \n",
    "2、首先求出各个pose的单应矩阵（单应矩阵相当于相机内参外参矩阵的乘积）然后通过矩阵改写的形式，引入B=M^-T^M^-1^，将等式h~i~Bh~j~改写为v~ij~b的优化标准形式，由（v~11~-v~22~）b=0 ,v~12~b=0 两个条件。\n",
    "3、此时v~12~b=0，利用多个pose（3个以上），将等式写成VB=0,解出b为最小特征值的特征向量；由b可以倒推出相机内参数M，代入z~c~M^-1^H=[R T]得到相机外参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
